from redis import StrictRedis
import logging
import pymysql
pymysql.install_as_MySQLdb()

# 创建配置类(父类)
class Config(object):
    # 自定义配置类，将配置信息以属性的方式罗列
    DEBUG = True

    # mysql 数据库配置信息
    # 连接mysql数据库
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/information22"
    # 开启数据库跟踪模式
    SQLALCHEMY_TRACK_MODIFICATIONS = True

    # redis config
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379

    # 添加加密字符串，对session_id进行加密
    SECRET_KEY = "KFJLJGLKJQIJGKDKGJF343K4"

    # 将flask中session中数据存储到redis数据库的配置
    # 存储到何种类型的数据库
    SESSION_TYPE = "redis"
    # 具体将session数据存储到什么redis数据库对象
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=1)
    # session存储的数据后产生的session_id需要加密
    SESSION_USE_SIGNER = True
    # 设置非永久存储
    SESSION_PERMANENT = False
    # 设置过期时长，默认时长31day
    PERMANENT_SESSION_LIFETIME = 86400

class DevelopmentConfig(Config):
    # 开发模式配置类
    DEBUG = True
    # 设置日志的级别
    LOG_LEVEL = logging.DEBUG

class ProductionConfig(Config):
    # 线上模式的配置类
    DEBUG = False
    # 设置日志级别
    LOG_LEVEL = logging.ERROR


# 给外界使用提供接口
# config_dict['development']
config_dict = {
    "development": DevelopmentConfig,
    "production": ProductionConfig
}
